\hypertarget{class_q_c_p_bars}{}\section{Q\+C\+P\+Bars Class Reference}
\label{class_q_c_p_bars}\index{Q\+C\+P\+Bars@{Q\+C\+P\+Bars}}


A plottable representing a bar chart in a plot.  


Inheritance diagram for Q\+C\+P\+Bars\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4.000000cm]{class_q_c_p_bars}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{class_q_c_p_bars_a65dbbf1ab41cbe993d71521096ed4649}{Width\+Type}} \{ \mbox{\hyperlink{class_q_c_p_bars_a65dbbf1ab41cbe993d71521096ed4649ab74315c9aa77df593c58dd25dfc0de35}{wt\+Absolute}}, 
\mbox{\hyperlink{class_q_c_p_bars_a65dbbf1ab41cbe993d71521096ed4649a90bc09899361ad3422ff277f7c790ffe}{wt\+Axis\+Rect\+Ratio}}, 
\mbox{\hyperlink{class_q_c_p_bars_a65dbbf1ab41cbe993d71521096ed4649aad3cc60ae1bfb1160a30237bee9eaf10}{wt\+Plot\+Coords}}
 \}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_q_c_p_bars_a64006999ad9dff308f40df41cef176ad}{Q\+C\+P\+Bars}} (\mbox{\hyperlink{class_q_c_p_axis}{Q\+C\+P\+Axis}} $\ast$key\+Axis, \mbox{\hyperlink{class_q_c_p_axis}{Q\+C\+P\+Axis}} $\ast$value\+Axis)
\item 
\mbox{\Hypertarget{class_q_c_p_bars_abe7eb3987d8711f45829db879aee2280}\label{class_q_c_p_bars_abe7eb3987d8711f45829db879aee2280}} 
double {\bfseries width} () const
\item 
\mbox{\Hypertarget{class_q_c_p_bars_a4c103fb405a45f47853e0345f0c6e708}\label{class_q_c_p_bars_a4c103fb405a45f47853e0345f0c6e708}} 
\mbox{\hyperlink{class_q_c_p_bars_a65dbbf1ab41cbe993d71521096ed4649}{Width\+Type}} {\bfseries width\+Type} () const
\item 
\mbox{\Hypertarget{class_q_c_p_bars_a5eef59840b68d205df4e0c3df5f97633}\label{class_q_c_p_bars_a5eef59840b68d205df4e0c3df5f97633}} 
\mbox{\hyperlink{class_q_c_p_bars_group}{Q\+C\+P\+Bars\+Group}} $\ast$ {\bfseries bars\+Group} () const
\item 
\mbox{\Hypertarget{class_q_c_p_bars_a29a7b3b86f80b2a04bd1f9ec0ebaf422}\label{class_q_c_p_bars_a29a7b3b86f80b2a04bd1f9ec0ebaf422}} 
double {\bfseries base\+Value} () const
\item 
\mbox{\hyperlink{class_q_c_p_bars}{Q\+C\+P\+Bars}} $\ast$ \mbox{\hyperlink{class_q_c_p_bars_a1b58664864b141f45e02044a855b3213}{bar\+Below}} () const
\item 
\mbox{\hyperlink{class_q_c_p_bars}{Q\+C\+P\+Bars}} $\ast$ \mbox{\hyperlink{class_q_c_p_bars_ab97f2acd9f6cb40d2cc3c33d278f0e78}{bar\+Above}} () const
\item 
\mbox{\Hypertarget{class_q_c_p_bars_a185bcee5f2d96fbc336a2d270687d016}\label{class_q_c_p_bars_a185bcee5f2d96fbc336a2d270687d016}} 
\mbox{\hyperlink{qcustomplot_8h_aa846c77472cae93def9f1609d0c57191}{Q\+C\+P\+Bar\+Data\+Map}} $\ast$ {\bfseries data} () const
\item 
void \mbox{\hyperlink{class_q_c_p_bars_afec6116579d44d5b706e0fa5e5332507}{set\+Width}} (double width)
\item 
void \mbox{\hyperlink{class_q_c_p_bars_adcaa3b41281bb2c0f7949b341592fcc0}{set\+Width\+Type}} (\mbox{\hyperlink{class_q_c_p_bars_a65dbbf1ab41cbe993d71521096ed4649}{Width\+Type}} width\+Type)
\item 
void \mbox{\hyperlink{class_q_c_p_bars_aedd1709061f0b307c47ddb45e172ef9a}{set\+Bars\+Group}} (\mbox{\hyperlink{class_q_c_p_bars_group}{Q\+C\+P\+Bars\+Group}} $\ast$bars\+Group)
\item 
void \mbox{\hyperlink{class_q_c_p_bars_a574ec7eb7537566df1a28ff085d75623}{set\+Base\+Value}} (double base\+Value)
\item 
void \mbox{\hyperlink{class_q_c_p_bars_aa3435aab19e0a49e4e7b41bd36a8d96b}{set\+Data}} (\mbox{\hyperlink{qcustomplot_8h_aa846c77472cae93def9f1609d0c57191}{Q\+C\+P\+Bar\+Data\+Map}} $\ast$data, bool copy=false)
\item 
void \mbox{\hyperlink{class_q_c_p_bars_a3efded5df4a82ecb201f7c28099fa2e5}{set\+Data}} (const Q\+Vector$<$ double $>$ \&key, const Q\+Vector$<$ double $>$ \&value)
\item 
void \mbox{\hyperlink{class_q_c_p_bars_a69fc371346980f19177c3d1ecdad78ee}{move\+Below}} (\mbox{\hyperlink{class_q_c_p_bars}{Q\+C\+P\+Bars}} $\ast$bars)
\item 
void \mbox{\hyperlink{class_q_c_p_bars_ac22e00a6a41509538c21b04f0a57318c}{move\+Above}} (\mbox{\hyperlink{class_q_c_p_bars}{Q\+C\+P\+Bars}} $\ast$bars)
\item 
void \mbox{\hyperlink{class_q_c_p_bars_a1f29cf08615040993209147fa68de3f2}{add\+Data}} (const \mbox{\hyperlink{qcustomplot_8h_aa846c77472cae93def9f1609d0c57191}{Q\+C\+P\+Bar\+Data\+Map}} \&data\+Map)
\item 
void \mbox{\hyperlink{class_q_c_p_bars_a142158b1addefd53259002dd3ab22c3a}{add\+Data}} (const \mbox{\hyperlink{class_q_c_p_bar_data}{Q\+C\+P\+Bar\+Data}} \&data)
\item 
void \mbox{\hyperlink{class_q_c_p_bars_a684dd105403a5497fda42f2094fecbb7}{add\+Data}} (double key, double value)
\item 
void \mbox{\hyperlink{class_q_c_p_bars_a3679a0a9decab0fa03f8f4c6e3344d52}{add\+Data}} (const Q\+Vector$<$ double $>$ \&keys, const Q\+Vector$<$ double $>$ \&values)
\item 
void \mbox{\hyperlink{class_q_c_p_bars_a9d12779a3fad4820aad2c428f368298d}{remove\+Data\+Before}} (double key)
\item 
void \mbox{\hyperlink{class_q_c_p_bars_a99de6e7abbbf03fb41fa604c7f08aa8b}{remove\+Data\+After}} (double key)
\item 
void \mbox{\hyperlink{class_q_c_p_bars_a1fe9bcb57d670defea1bb65cadf43765}{remove\+Data}} (double from\+Key, double to\+Key)
\item 
void \mbox{\hyperlink{class_q_c_p_bars_a837cc9848ad3edd40a6130b508493f93}{remove\+Data}} (double key)
\item 
virtual void \mbox{\hyperlink{class_q_c_p_bars_a11dbbd707132f07f862dff13c5789c2b}{clear\+Data}} ()
\item 
virtual double \mbox{\hyperlink{class_q_c_p_bars_a62d66cc8eedca6bedfc1f6513164d418}{select\+Test}} (const Q\+PointF \&pos, bool only\+Selectable, Q\+Variant $\ast$details=0) const
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{class_q_c_p_bars_a42b894e34dac799f90ff3700706b31df}\label{class_q_c_p_bars_a42b894e34dac799f90ff3700706b31df}} 
virtual void {\bfseries draw} (\mbox{\hyperlink{class_q_c_p_painter}{Q\+C\+P\+Painter}} $\ast$painter)
\item 
\mbox{\Hypertarget{class_q_c_p_bars_ad466f06b0fa561b6e12c92fdb8fa3c7f}\label{class_q_c_p_bars_ad466f06b0fa561b6e12c92fdb8fa3c7f}} 
virtual void {\bfseries draw\+Legend\+Icon} (\mbox{\hyperlink{class_q_c_p_painter}{Q\+C\+P\+Painter}} $\ast$painter, const Q\+RectF \&rect) const
\item 
\mbox{\Hypertarget{class_q_c_p_bars_a0161ff6af64e025543c66130bcaa7ffd}\label{class_q_c_p_bars_a0161ff6af64e025543c66130bcaa7ffd}} 
virtual \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} {\bfseries get\+Key\+Range} (bool \&found\+Range, \mbox{\hyperlink{class_q_c_p_abstract_plottable_a661743478a1d3c09d28ec2711d7653d8}{Sign\+Domain}} in\+Sign\+Domain=\mbox{\hyperlink{class_q_c_p_abstract_plottable_a661743478a1d3c09d28ec2711d7653d8a082b98cfb91a7363a3b5cd17b0c1cd60}{sd\+Both}}) const
\item 
\mbox{\Hypertarget{class_q_c_p_bars_af71b8e6ee0b800f0b79f2b6e692afee2}\label{class_q_c_p_bars_af71b8e6ee0b800f0b79f2b6e692afee2}} 
virtual \mbox{\hyperlink{class_q_c_p_range}{Q\+C\+P\+Range}} {\bfseries get\+Value\+Range} (bool \&found\+Range, \mbox{\hyperlink{class_q_c_p_abstract_plottable_a661743478a1d3c09d28ec2711d7653d8}{Sign\+Domain}} in\+Sign\+Domain=\mbox{\hyperlink{class_q_c_p_abstract_plottable_a661743478a1d3c09d28ec2711d7653d8a082b98cfb91a7363a3b5cd17b0c1cd60}{sd\+Both}}) const
\item 
\mbox{\Hypertarget{class_q_c_p_bars_adce71831920cf0426722fdd47ba34261}\label{class_q_c_p_bars_adce71831920cf0426722fdd47ba34261}} 
void {\bfseries get\+Visible\+Data\+Bounds} (Q\+C\+P\+Bar\+Data\+Map\+::const\+\_\+iterator \&lower, Q\+C\+P\+Bar\+Data\+Map\+::const\+\_\+iterator \&upper\+End) const
\item 
\mbox{\Hypertarget{class_q_c_p_bars_a3a4ca0069f003929284763caef1856a8}\label{class_q_c_p_bars_a3a4ca0069f003929284763caef1856a8}} 
Q\+PolygonF {\bfseries get\+Bar\+Polygon} (double key, double value) const
\item 
\mbox{\Hypertarget{class_q_c_p_bars_ad87586cc5e9806740bc0e867667da409}\label{class_q_c_p_bars_ad87586cc5e9806740bc0e867667da409}} 
void {\bfseries get\+Pixel\+Width} (double key, double \&lower, double \&upper) const
\item 
\mbox{\Hypertarget{class_q_c_p_bars_a0ffd6e043876e13e89eaa54e9f8a04b9}\label{class_q_c_p_bars_a0ffd6e043876e13e89eaa54e9f8a04b9}} 
double {\bfseries get\+Stacked\+Base\+Value} (double key, bool positive) const
\end{DoxyCompactItemize}
\subsection*{Static Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{class_q_c_p_bars_a6ea37802cd22f97235cab614b14b9f19}\label{class_q_c_p_bars_a6ea37802cd22f97235cab614b14b9f19}} 
static void {\bfseries connect\+Bars} (\mbox{\hyperlink{class_q_c_p_bars}{Q\+C\+P\+Bars}} $\ast$lower, \mbox{\hyperlink{class_q_c_p_bars}{Q\+C\+P\+Bars}} $\ast$upper)
\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{class_q_c_p_bars_aef28d29d51ef84b608ecd22c55d531ff}\label{class_q_c_p_bars_aef28d29d51ef84b608ecd22c55d531ff}} 
\mbox{\hyperlink{qcustomplot_8h_aa846c77472cae93def9f1609d0c57191}{Q\+C\+P\+Bar\+Data\+Map}} $\ast$ {\bfseries m\+Data}
\item 
\mbox{\Hypertarget{class_q_c_p_bars_a7c4e0f2246f8133f48a9c3f24cf5b920}\label{class_q_c_p_bars_a7c4e0f2246f8133f48a9c3f24cf5b920}} 
double {\bfseries m\+Width}
\item 
\mbox{\Hypertarget{class_q_c_p_bars_a94dba1309496c7601d01e2c59715cbb3}\label{class_q_c_p_bars_a94dba1309496c7601d01e2c59715cbb3}} 
\mbox{\hyperlink{class_q_c_p_bars_a65dbbf1ab41cbe993d71521096ed4649}{Width\+Type}} {\bfseries m\+Width\+Type}
\item 
\mbox{\Hypertarget{class_q_c_p_bars_a9f59c255f3739182ca9744dff75beaa9}\label{class_q_c_p_bars_a9f59c255f3739182ca9744dff75beaa9}} 
\mbox{\hyperlink{class_q_c_p_bars_group}{Q\+C\+P\+Bars\+Group}} $\ast$ {\bfseries m\+Bars\+Group}
\item 
\mbox{\Hypertarget{class_q_c_p_bars_aa0515cf47fa6044cc28e59b1ae5ec759}\label{class_q_c_p_bars_aa0515cf47fa6044cc28e59b1ae5ec759}} 
double {\bfseries m\+Base\+Value}
\item 
\mbox{\Hypertarget{class_q_c_p_bars_ad51db970eed7e286f2753b0216fc56de}\label{class_q_c_p_bars_ad51db970eed7e286f2753b0216fc56de}} 
Q\+Pointer$<$ \mbox{\hyperlink{class_q_c_p_bars}{Q\+C\+P\+Bars}} $>$ {\bfseries m\+Bar\+Below}
\item 
\mbox{\Hypertarget{class_q_c_p_bars_a0c1c46076c41a478dbb373cfd35929aa}\label{class_q_c_p_bars_a0c1c46076c41a478dbb373cfd35929aa}} 
Q\+Pointer$<$ \mbox{\hyperlink{class_q_c_p_bars}{Q\+C\+P\+Bars}} $>$ {\bfseries m\+Bar\+Above}
\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{class_q_c_p_bars_a1cdf9df76adcfae45261690aa0ca2198}\label{class_q_c_p_bars_a1cdf9df76adcfae45261690aa0ca2198}} 
class {\bfseries Q\+Custom\+Plot}
\item 
\mbox{\Hypertarget{class_q_c_p_bars_a8429035e7adfbd7f05805a6530ad5e3b}\label{class_q_c_p_bars_a8429035e7adfbd7f05805a6530ad5e3b}} 
class {\bfseries Q\+C\+P\+Legend}
\item 
\mbox{\Hypertarget{class_q_c_p_bars_ae1051b4d58a2786cb420367a586e2fee}\label{class_q_c_p_bars_ae1051b4d58a2786cb420367a586e2fee}} 
class {\bfseries Q\+C\+P\+Bars\+Group}
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
A plottable representing a bar chart in a plot. 



To plot data, assign it with the \mbox{\hyperlink{class_q_c_p_bars_aa3435aab19e0a49e4e7b41bd36a8d96b}{set\+Data}} or \mbox{\hyperlink{class_q_c_p_bars_a1f29cf08615040993209147fa68de3f2}{add\+Data}} functions.\hypertarget{class_q_c_p_statistical_box_appearance}{}\subsection{Changing the appearance}\label{class_q_c_p_statistical_box_appearance}
The appearance of the bars is determined by the pen and the brush (\mbox{\hyperlink{class_q_c_p_abstract_plottable_ab74b09ae4c0e7e13142fe4b5bf46cac7}{set\+Pen}}, \mbox{\hyperlink{class_q_c_p_abstract_plottable_a7a4b92144dca6453a1f0f210e27edc74}{set\+Brush}}). The width of the individual bars can be controlled with \mbox{\hyperlink{class_q_c_p_bars_adcaa3b41281bb2c0f7949b341592fcc0}{set\+Width\+Type}} and \mbox{\hyperlink{class_q_c_p_bars_afec6116579d44d5b706e0fa5e5332507}{set\+Width}}.

Bar charts are stackable. This means, two \mbox{\hyperlink{class_q_c_p_bars}{Q\+C\+P\+Bars}} plottables can be placed on top of each other (see \mbox{\hyperlink{class_q_c_p_bars_ac22e00a6a41509538c21b04f0a57318c}{Q\+C\+P\+Bars\+::move\+Above}}). So when two bars are at the same key position, they will appear stacked.

If you would like to group multiple \mbox{\hyperlink{class_q_c_p_bars}{Q\+C\+P\+Bars}} plottables together so they appear side by side as shown below, use \mbox{\hyperlink{class_q_c_p_bars_group}{Q\+C\+P\+Bars\+Group}}.

\hypertarget{class_q_c_p_statistical_box_usage}{}\subsection{Usage}\label{class_q_c_p_statistical_box_usage}
Like all data representing objects in \mbox{\hyperlink{class_q_custom_plot}{Q\+Custom\+Plot}}, the \mbox{\hyperlink{class_q_c_p_bars}{Q\+C\+P\+Bars}} is a plottable (\mbox{\hyperlink{class_q_c_p_abstract_plottable}{Q\+C\+P\+Abstract\+Plottable}}). So the plottable-\/interface of \mbox{\hyperlink{class_q_custom_plot}{Q\+Custom\+Plot}} applies (\mbox{\hyperlink{class_q_custom_plot_a32de81ff53e263e785b83b52ecd99d6f}{Q\+Custom\+Plot\+::plottable}}, \mbox{\hyperlink{class_q_custom_plot_ab7ad9174f701f9c6f64e378df77927a6}{Q\+Custom\+Plot\+::add\+Plottable}}, \mbox{\hyperlink{class_q_custom_plot_af3dafd56884208474f311d6226513ab2}{Q\+Custom\+Plot\+::remove\+Plottable}}, etc.)

Usually, you first create an instance\+: 
\begin{DoxyCodeInclude}
\end{DoxyCodeInclude}
add it to the custom\+Plot with \mbox{\hyperlink{class_q_custom_plot_ab7ad9174f701f9c6f64e378df77927a6}{Q\+Custom\+Plot\+::add\+Plottable}}\+: 
\begin{DoxyCodeInclude}
\end{DoxyCodeInclude}
and then modify the properties of the newly created plottable, e.\+g.\+: 
\begin{DoxyCodeInclude}
\end{DoxyCodeInclude}


\subsection{Member Enumeration Documentation}
\mbox{\Hypertarget{class_q_c_p_bars_a65dbbf1ab41cbe993d71521096ed4649}\label{class_q_c_p_bars_a65dbbf1ab41cbe993d71521096ed4649}} 
\index{Q\+C\+P\+Bars@{Q\+C\+P\+Bars}!Width\+Type@{Width\+Type}}
\index{Width\+Type@{Width\+Type}!Q\+C\+P\+Bars@{Q\+C\+P\+Bars}}
\subsubsection{\texorpdfstring{Width\+Type}{WidthType}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{class_q_c_p_bars_a65dbbf1ab41cbe993d71521096ed4649}{Q\+C\+P\+Bars\+::\+Width\+Type}}}

Defines the ways the width of the bar can be specified. Thus it defines what the number passed to \mbox{\hyperlink{class_q_c_p_bars_afec6116579d44d5b706e0fa5e5332507}{set\+Width}} actually means.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_q_c_p_bars_adcaa3b41281bb2c0f7949b341592fcc0}{set\+Width\+Type}}, \mbox{\hyperlink{class_q_c_p_bars_afec6116579d44d5b706e0fa5e5332507}{set\+Width}} 
\end{DoxySeeAlso}
\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{wt\+Absolute@{wt\+Absolute}!Q\+C\+P\+Bars@{Q\+C\+P\+Bars}}\index{Q\+C\+P\+Bars@{Q\+C\+P\+Bars}!wt\+Absolute@{wt\+Absolute}}}\mbox{\Hypertarget{class_q_c_p_bars_a65dbbf1ab41cbe993d71521096ed4649ab74315c9aa77df593c58dd25dfc0de35}\label{class_q_c_p_bars_a65dbbf1ab41cbe993d71521096ed4649ab74315c9aa77df593c58dd25dfc0de35}} 
wt\+Absolute&Bar width is in absolute pixels. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{wt\+Axis\+Rect\+Ratio@{wt\+Axis\+Rect\+Ratio}!Q\+C\+P\+Bars@{Q\+C\+P\+Bars}}\index{Q\+C\+P\+Bars@{Q\+C\+P\+Bars}!wt\+Axis\+Rect\+Ratio@{wt\+Axis\+Rect\+Ratio}}}\mbox{\Hypertarget{class_q_c_p_bars_a65dbbf1ab41cbe993d71521096ed4649a90bc09899361ad3422ff277f7c790ffe}\label{class_q_c_p_bars_a65dbbf1ab41cbe993d71521096ed4649a90bc09899361ad3422ff277f7c790ffe}} 
wt\+Axis\+Rect\+Ratio&Bar width is given by a fraction of the axis rect size. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{wt\+Plot\+Coords@{wt\+Plot\+Coords}!Q\+C\+P\+Bars@{Q\+C\+P\+Bars}}\index{Q\+C\+P\+Bars@{Q\+C\+P\+Bars}!wt\+Plot\+Coords@{wt\+Plot\+Coords}}}\mbox{\Hypertarget{class_q_c_p_bars_a65dbbf1ab41cbe993d71521096ed4649aad3cc60ae1bfb1160a30237bee9eaf10}\label{class_q_c_p_bars_a65dbbf1ab41cbe993d71521096ed4649aad3cc60ae1bfb1160a30237bee9eaf10}} 
wt\+Plot\+Coords&Bar width is in key coordinates and thus scales with the key axis range. \\
\hline

\end{DoxyEnumFields}


\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_q_c_p_bars_a64006999ad9dff308f40df41cef176ad}\label{class_q_c_p_bars_a64006999ad9dff308f40df41cef176ad}} 
\index{Q\+C\+P\+Bars@{Q\+C\+P\+Bars}!Q\+C\+P\+Bars@{Q\+C\+P\+Bars}}
\index{Q\+C\+P\+Bars@{Q\+C\+P\+Bars}!Q\+C\+P\+Bars@{Q\+C\+P\+Bars}}
\subsubsection{\texorpdfstring{Q\+C\+P\+Bars()}{QCPBars()}}
{\footnotesize\ttfamily Q\+C\+P\+Bars\+::\+Q\+C\+P\+Bars (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_q_c_p_axis}{Q\+C\+P\+Axis}} $\ast$}]{key\+Axis,  }\item[{\mbox{\hyperlink{class_q_c_p_axis}{Q\+C\+P\+Axis}} $\ast$}]{value\+Axis }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [explicit]}}

Constructs a bar chart which uses {\itshape key\+Axis} as its key axis (\char`\"{}x\char`\"{}) and {\itshape value\+Axis} as its value axis (\char`\"{}y\char`\"{}). {\itshape key\+Axis} and {\itshape value\+Axis} must reside in the same \mbox{\hyperlink{class_q_custom_plot}{Q\+Custom\+Plot}} instance and not have the same orientation. If either of these restrictions is violated, a corresponding message is printed to the debug output (q\+Debug), the construction is not aborted, though.

The constructed \mbox{\hyperlink{class_q_c_p_bars}{Q\+C\+P\+Bars}} can be added to the plot with \mbox{\hyperlink{class_q_custom_plot_ab7ad9174f701f9c6f64e378df77927a6}{Q\+Custom\+Plot\+::add\+Plottable}}, \mbox{\hyperlink{class_q_custom_plot}{Q\+Custom\+Plot}} then takes ownership of the bar chart. 

\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_q_c_p_bars_a1f29cf08615040993209147fa68de3f2}\label{class_q_c_p_bars_a1f29cf08615040993209147fa68de3f2}} 
\index{Q\+C\+P\+Bars@{Q\+C\+P\+Bars}!add\+Data@{add\+Data}}
\index{add\+Data@{add\+Data}!Q\+C\+P\+Bars@{Q\+C\+P\+Bars}}
\subsubsection{\texorpdfstring{add\+Data()}{addData()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily void Q\+C\+P\+Bars\+::add\+Data (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{qcustomplot_8h_aa846c77472cae93def9f1609d0c57191}{Q\+C\+P\+Bar\+Data\+Map}} \&}]{data\+Map }\end{DoxyParamCaption})}

Adds the provided data points in {\itshape data\+Map} to the current data. \begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_q_c_p_bars_a1fe9bcb57d670defea1bb65cadf43765}{remove\+Data}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_q_c_p_bars_a142158b1addefd53259002dd3ab22c3a}\label{class_q_c_p_bars_a142158b1addefd53259002dd3ab22c3a}} 
\index{Q\+C\+P\+Bars@{Q\+C\+P\+Bars}!add\+Data@{add\+Data}}
\index{add\+Data@{add\+Data}!Q\+C\+P\+Bars@{Q\+C\+P\+Bars}}
\subsubsection{\texorpdfstring{add\+Data()}{addData()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily void Q\+C\+P\+Bars\+::add\+Data (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_q_c_p_bar_data}{Q\+C\+P\+Bar\+Data}} \&}]{data }\end{DoxyParamCaption})}

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Adds the provided single data point in {\itshape data} to the current data. \begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_q_c_p_bars_a1fe9bcb57d670defea1bb65cadf43765}{remove\+Data}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_q_c_p_bars_a684dd105403a5497fda42f2094fecbb7}\label{class_q_c_p_bars_a684dd105403a5497fda42f2094fecbb7}} 
\index{Q\+C\+P\+Bars@{Q\+C\+P\+Bars}!add\+Data@{add\+Data}}
\index{add\+Data@{add\+Data}!Q\+C\+P\+Bars@{Q\+C\+P\+Bars}}
\subsubsection{\texorpdfstring{add\+Data()}{addData()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily void Q\+C\+P\+Bars\+::add\+Data (\begin{DoxyParamCaption}\item[{double}]{key,  }\item[{double}]{value }\end{DoxyParamCaption})}

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Adds the provided single data point as {\itshape key} and {\itshape value} tuple to the current data \begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_q_c_p_bars_a1fe9bcb57d670defea1bb65cadf43765}{remove\+Data}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_q_c_p_bars_a3679a0a9decab0fa03f8f4c6e3344d52}\label{class_q_c_p_bars_a3679a0a9decab0fa03f8f4c6e3344d52}} 
\index{Q\+C\+P\+Bars@{Q\+C\+P\+Bars}!add\+Data@{add\+Data}}
\index{add\+Data@{add\+Data}!Q\+C\+P\+Bars@{Q\+C\+P\+Bars}}
\subsubsection{\texorpdfstring{add\+Data()}{addData()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily void Q\+C\+P\+Bars\+::add\+Data (\begin{DoxyParamCaption}\item[{const Q\+Vector$<$ double $>$ \&}]{keys,  }\item[{const Q\+Vector$<$ double $>$ \&}]{values }\end{DoxyParamCaption})}

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Adds the provided data points as {\itshape key} and {\itshape value} tuples to the current data. \begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_q_c_p_bars_a1fe9bcb57d670defea1bb65cadf43765}{remove\+Data}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_q_c_p_bars_ab97f2acd9f6cb40d2cc3c33d278f0e78}\label{class_q_c_p_bars_ab97f2acd9f6cb40d2cc3c33d278f0e78}} 
\index{Q\+C\+P\+Bars@{Q\+C\+P\+Bars}!bar\+Above@{bar\+Above}}
\index{bar\+Above@{bar\+Above}!Q\+C\+P\+Bars@{Q\+C\+P\+Bars}}
\subsubsection{\texorpdfstring{bar\+Above()}{barAbove()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_q_c_p_bars}{Q\+C\+P\+Bars}} $\ast$ Q\+C\+P\+Bars\+::bar\+Above (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

Returns the bars plottable that is directly above this bars plottable. If there is no such plottable, returns 0.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_q_c_p_bars_a1b58664864b141f45e02044a855b3213}{bar\+Below}}, \mbox{\hyperlink{class_q_c_p_bars_a69fc371346980f19177c3d1ecdad78ee}{move\+Below}}, \mbox{\hyperlink{class_q_c_p_bars_ac22e00a6a41509538c21b04f0a57318c}{move\+Above}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_q_c_p_bars_a1b58664864b141f45e02044a855b3213}\label{class_q_c_p_bars_a1b58664864b141f45e02044a855b3213}} 
\index{Q\+C\+P\+Bars@{Q\+C\+P\+Bars}!bar\+Below@{bar\+Below}}
\index{bar\+Below@{bar\+Below}!Q\+C\+P\+Bars@{Q\+C\+P\+Bars}}
\subsubsection{\texorpdfstring{bar\+Below()}{barBelow()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_q_c_p_bars}{Q\+C\+P\+Bars}} $\ast$ Q\+C\+P\+Bars\+::bar\+Below (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

Returns the bars plottable that is directly below this bars plottable. If there is no such plottable, returns 0.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_q_c_p_bars_ab97f2acd9f6cb40d2cc3c33d278f0e78}{bar\+Above}}, \mbox{\hyperlink{class_q_c_p_bars_a69fc371346980f19177c3d1ecdad78ee}{move\+Below}}, \mbox{\hyperlink{class_q_c_p_bars_ac22e00a6a41509538c21b04f0a57318c}{move\+Above}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_q_c_p_bars_a11dbbd707132f07f862dff13c5789c2b}\label{class_q_c_p_bars_a11dbbd707132f07f862dff13c5789c2b}} 
\index{Q\+C\+P\+Bars@{Q\+C\+P\+Bars}!clear\+Data@{clear\+Data}}
\index{clear\+Data@{clear\+Data}!Q\+C\+P\+Bars@{Q\+C\+P\+Bars}}
\subsubsection{\texorpdfstring{clear\+Data()}{clearData()}}
{\footnotesize\ttfamily void Q\+C\+P\+Bars\+::clear\+Data (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

Removes all data points. \begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_q_c_p_bars_a1fe9bcb57d670defea1bb65cadf43765}{remove\+Data}}, \mbox{\hyperlink{class_q_c_p_bars_a99de6e7abbbf03fb41fa604c7f08aa8b}{remove\+Data\+After}}, \mbox{\hyperlink{class_q_c_p_bars_a9d12779a3fad4820aad2c428f368298d}{remove\+Data\+Before}} 
\end{DoxySeeAlso}


Implements \mbox{\hyperlink{class_q_c_p_abstract_plottable_a86e5b8fd4b6ff4f4084e7ea4c573fc53}{Q\+C\+P\+Abstract\+Plottable}}.

\mbox{\Hypertarget{class_q_c_p_bars_ac22e00a6a41509538c21b04f0a57318c}\label{class_q_c_p_bars_ac22e00a6a41509538c21b04f0a57318c}} 
\index{Q\+C\+P\+Bars@{Q\+C\+P\+Bars}!move\+Above@{move\+Above}}
\index{move\+Above@{move\+Above}!Q\+C\+P\+Bars@{Q\+C\+P\+Bars}}
\subsubsection{\texorpdfstring{move\+Above()}{moveAbove()}}
{\footnotesize\ttfamily void Q\+C\+P\+Bars\+::move\+Above (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_q_c_p_bars}{Q\+C\+P\+Bars}} $\ast$}]{bars }\end{DoxyParamCaption})}

Moves this bars plottable above {\itshape bars}. In other words, the bars of this plottable will appear above the bars of {\itshape bars}. The move target {\itshape bars} must use the same key and value axis as this plottable.

Inserting into and removing from existing bar stacking is handled gracefully. If {\itshape bars} already has a bars object below itself, this bars object is inserted between the two. If this bars object is already between two other bars, the two other bars will be stacked on top of each other after the operation.

To remove this bars plottable from any stacking, set {\itshape bars} to 0.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_q_c_p_bars_a69fc371346980f19177c3d1ecdad78ee}{move\+Below}}, \mbox{\hyperlink{class_q_c_p_bars_a1b58664864b141f45e02044a855b3213}{bar\+Below}}, \mbox{\hyperlink{class_q_c_p_bars_ab97f2acd9f6cb40d2cc3c33d278f0e78}{bar\+Above}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_q_c_p_bars_a69fc371346980f19177c3d1ecdad78ee}\label{class_q_c_p_bars_a69fc371346980f19177c3d1ecdad78ee}} 
\index{Q\+C\+P\+Bars@{Q\+C\+P\+Bars}!move\+Below@{move\+Below}}
\index{move\+Below@{move\+Below}!Q\+C\+P\+Bars@{Q\+C\+P\+Bars}}
\subsubsection{\texorpdfstring{move\+Below()}{moveBelow()}}
{\footnotesize\ttfamily void Q\+C\+P\+Bars\+::move\+Below (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_q_c_p_bars}{Q\+C\+P\+Bars}} $\ast$}]{bars }\end{DoxyParamCaption})}

Moves this bars plottable below {\itshape bars}. In other words, the bars of this plottable will appear below the bars of {\itshape bars}. The move target {\itshape bars} must use the same key and value axis as this plottable.

Inserting into and removing from existing bar stacking is handled gracefully. If {\itshape bars} already has a bars object below itself, this bars object is inserted between the two. If this bars object is already between two other bars, the two other bars will be stacked on top of each other after the operation.

To remove this bars plottable from any stacking, set {\itshape bars} to 0.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_q_c_p_bars_a69fc371346980f19177c3d1ecdad78ee}{move\+Below}}, \mbox{\hyperlink{class_q_c_p_bars_ab97f2acd9f6cb40d2cc3c33d278f0e78}{bar\+Above}}, \mbox{\hyperlink{class_q_c_p_bars_a1b58664864b141f45e02044a855b3213}{bar\+Below}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_q_c_p_bars_a1fe9bcb57d670defea1bb65cadf43765}\label{class_q_c_p_bars_a1fe9bcb57d670defea1bb65cadf43765}} 
\index{Q\+C\+P\+Bars@{Q\+C\+P\+Bars}!remove\+Data@{remove\+Data}}
\index{remove\+Data@{remove\+Data}!Q\+C\+P\+Bars@{Q\+C\+P\+Bars}}
\subsubsection{\texorpdfstring{remove\+Data()}{removeData()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void Q\+C\+P\+Bars\+::remove\+Data (\begin{DoxyParamCaption}\item[{double}]{from\+Key,  }\item[{double}]{to\+Key }\end{DoxyParamCaption})}

Removes all data points with key between {\itshape from\+Key} and {\itshape to\+Key}. if {\itshape from\+Key} is greater or equal to {\itshape to\+Key}, the function does nothing. To remove a single data point with known key, use \mbox{\hyperlink{class_q_c_p_bars_a837cc9848ad3edd40a6130b508493f93}{remove\+Data(double key)}}.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_q_c_p_bars_a1f29cf08615040993209147fa68de3f2}{add\+Data}}, \mbox{\hyperlink{class_q_c_p_bars_a11dbbd707132f07f862dff13c5789c2b}{clear\+Data}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_q_c_p_bars_a837cc9848ad3edd40a6130b508493f93}\label{class_q_c_p_bars_a837cc9848ad3edd40a6130b508493f93}} 
\index{Q\+C\+P\+Bars@{Q\+C\+P\+Bars}!remove\+Data@{remove\+Data}}
\index{remove\+Data@{remove\+Data}!Q\+C\+P\+Bars@{Q\+C\+P\+Bars}}
\subsubsection{\texorpdfstring{remove\+Data()}{removeData()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void Q\+C\+P\+Bars\+::remove\+Data (\begin{DoxyParamCaption}\item[{double}]{key }\end{DoxyParamCaption})}

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Removes a single data point at {\itshape key}. If the position is not known with absolute precision, consider using \mbox{\hyperlink{class_q_c_p_bars_a1fe9bcb57d670defea1bb65cadf43765}{remove\+Data(double from\+Key, double to\+Key)}} with a small fuzziness interval around the suspected position, depeding on the precision with which the key is known.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_q_c_p_bars_a1f29cf08615040993209147fa68de3f2}{add\+Data}}, \mbox{\hyperlink{class_q_c_p_bars_a11dbbd707132f07f862dff13c5789c2b}{clear\+Data}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_q_c_p_bars_a99de6e7abbbf03fb41fa604c7f08aa8b}\label{class_q_c_p_bars_a99de6e7abbbf03fb41fa604c7f08aa8b}} 
\index{Q\+C\+P\+Bars@{Q\+C\+P\+Bars}!remove\+Data\+After@{remove\+Data\+After}}
\index{remove\+Data\+After@{remove\+Data\+After}!Q\+C\+P\+Bars@{Q\+C\+P\+Bars}}
\subsubsection{\texorpdfstring{remove\+Data\+After()}{removeDataAfter()}}
{\footnotesize\ttfamily void Q\+C\+P\+Bars\+::remove\+Data\+After (\begin{DoxyParamCaption}\item[{double}]{key }\end{DoxyParamCaption})}

Removes all data points with key greater than {\itshape key}. \begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_q_c_p_bars_a1f29cf08615040993209147fa68de3f2}{add\+Data}}, \mbox{\hyperlink{class_q_c_p_bars_a11dbbd707132f07f862dff13c5789c2b}{clear\+Data}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_q_c_p_bars_a9d12779a3fad4820aad2c428f368298d}\label{class_q_c_p_bars_a9d12779a3fad4820aad2c428f368298d}} 
\index{Q\+C\+P\+Bars@{Q\+C\+P\+Bars}!remove\+Data\+Before@{remove\+Data\+Before}}
\index{remove\+Data\+Before@{remove\+Data\+Before}!Q\+C\+P\+Bars@{Q\+C\+P\+Bars}}
\subsubsection{\texorpdfstring{remove\+Data\+Before()}{removeDataBefore()}}
{\footnotesize\ttfamily void Q\+C\+P\+Bars\+::remove\+Data\+Before (\begin{DoxyParamCaption}\item[{double}]{key }\end{DoxyParamCaption})}

Removes all data points with key smaller than {\itshape key}. \begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_q_c_p_bars_a1f29cf08615040993209147fa68de3f2}{add\+Data}}, \mbox{\hyperlink{class_q_c_p_bars_a11dbbd707132f07f862dff13c5789c2b}{clear\+Data}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_q_c_p_bars_a62d66cc8eedca6bedfc1f6513164d418}\label{class_q_c_p_bars_a62d66cc8eedca6bedfc1f6513164d418}} 
\index{Q\+C\+P\+Bars@{Q\+C\+P\+Bars}!select\+Test@{select\+Test}}
\index{select\+Test@{select\+Test}!Q\+C\+P\+Bars@{Q\+C\+P\+Bars}}
\subsubsection{\texorpdfstring{select\+Test()}{selectTest()}}
{\footnotesize\ttfamily double Q\+C\+P\+Bars\+::select\+Test (\begin{DoxyParamCaption}\item[{const Q\+PointF \&}]{pos,  }\item[{bool}]{only\+Selectable,  }\item[{Q\+Variant $\ast$}]{details = {\ttfamily 0} }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

This function is used to decide whether a click hits a layerable object or not.

{\itshape pos} is a point in pixel coordinates on the \mbox{\hyperlink{class_q_custom_plot}{Q\+Custom\+Plot}} surface. This function returns the shortest pixel distance of this point to the object. If the object is either invisible or the distance couldn\textquotesingle{}t be determined, -\/1.\+0 is returned. Further, if {\itshape only\+Selectable} is true and the object is not selectable, -\/1.\+0 is returned, too.

If the object is represented not by single lines but by an area like a \mbox{\hyperlink{class_q_c_p_item_text}{Q\+C\+P\+Item\+Text}} or the bars of a \mbox{\hyperlink{class_q_c_p_bars}{Q\+C\+P\+Bars}} plottable, a click inside the area should also be considered a hit. In these cases this function thus returns a constant value greater zero but still below the parent plot\textquotesingle{}s selection tolerance. (typically the selection\+Tolerance multiplied by 0.\+99).

Providing a constant value for area objects allows selecting line objects even when they are obscured by such area objects, by clicking close to the lines (i.\+e. closer than 0.\+99$\ast$selection\+Tolerance).

The actual setting of the selection state is not done by this function. This is handled by the parent \mbox{\hyperlink{class_q_custom_plot}{Q\+Custom\+Plot}} when the mouse\+Release\+Event occurs, and the finally selected object is notified via the select\+Event/deselect\+Event methods.

{\itshape details} is an optional output parameter. Every layerable subclass may place any information in {\itshape details}. This information will be passed to select\+Event when the parent \mbox{\hyperlink{class_q_custom_plot}{Q\+Custom\+Plot}} decides on the basis of this select\+Test call, that the object was successfully selected. The subsequent call to select\+Event will carry the {\itshape details}. This is useful for multi-\/part objects (like \mbox{\hyperlink{class_q_c_p_axis}{Q\+C\+P\+Axis}}). This way, a possibly complex calculation to decide which part was clicked is only done once in \mbox{\hyperlink{class_q_c_p_bars_a62d66cc8eedca6bedfc1f6513164d418}{select\+Test}}. The result (i.\+e. the actually clicked part) can then be placed in {\itshape details}. So in the subsequent select\+Event, the decision which part was selected doesn\textquotesingle{}t have to be done a second time for a single selection operation.

You may pass 0 as {\itshape details} to indicate that you are not interested in those selection details.

\begin{DoxySeeAlso}{See also}
select\+Event, deselect\+Event, \mbox{\hyperlink{class_q_custom_plot_a5ee1e2f6ae27419deca53e75907c27e5}{Q\+Custom\+Plot\+::set\+Interactions}} 
\end{DoxySeeAlso}


Implements \mbox{\hyperlink{class_q_c_p_abstract_plottable_a38efe9641d972992a3d44204bc80ec1d}{Q\+C\+P\+Abstract\+Plottable}}.

\mbox{\Hypertarget{class_q_c_p_bars_aedd1709061f0b307c47ddb45e172ef9a}\label{class_q_c_p_bars_aedd1709061f0b307c47ddb45e172ef9a}} 
\index{Q\+C\+P\+Bars@{Q\+C\+P\+Bars}!set\+Bars\+Group@{set\+Bars\+Group}}
\index{set\+Bars\+Group@{set\+Bars\+Group}!Q\+C\+P\+Bars@{Q\+C\+P\+Bars}}
\subsubsection{\texorpdfstring{set\+Bars\+Group()}{setBarsGroup()}}
{\footnotesize\ttfamily void Q\+C\+P\+Bars\+::set\+Bars\+Group (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_q_c_p_bars_group}{Q\+C\+P\+Bars\+Group}} $\ast$}]{bars\+Group }\end{DoxyParamCaption})}

Sets to which \mbox{\hyperlink{class_q_c_p_bars_group}{Q\+C\+P\+Bars\+Group}} this \mbox{\hyperlink{class_q_c_p_bars}{Q\+C\+P\+Bars}} instance belongs to. Alternatively, you can also use \mbox{\hyperlink{class_q_c_p_bars_group_a809ed63cc4ff7cd5b0b8c96b470163d3}{Q\+C\+P\+Bars\+Group\+::append}}.

To remove this \mbox{\hyperlink{class_q_c_p_bars}{Q\+C\+P\+Bars}} from any group, set {\itshape bars\+Group} to 0. \mbox{\Hypertarget{class_q_c_p_bars_a574ec7eb7537566df1a28ff085d75623}\label{class_q_c_p_bars_a574ec7eb7537566df1a28ff085d75623}} 
\index{Q\+C\+P\+Bars@{Q\+C\+P\+Bars}!set\+Base\+Value@{set\+Base\+Value}}
\index{set\+Base\+Value@{set\+Base\+Value}!Q\+C\+P\+Bars@{Q\+C\+P\+Bars}}
\subsubsection{\texorpdfstring{set\+Base\+Value()}{setBaseValue()}}
{\footnotesize\ttfamily void Q\+C\+P\+Bars\+::set\+Base\+Value (\begin{DoxyParamCaption}\item[{double}]{base\+Value }\end{DoxyParamCaption})}

Sets the base value of this bars plottable.

The base value defines where on the value coordinate the bars start. How far the bars extend from the base value is given by their individual value data. For example, if the base value is set to 1, a bar with data value 2 will have its lowest point at value coordinate 1 and highest point at 3.

For stacked bars, only the base value of the bottom-\/most \mbox{\hyperlink{class_q_c_p_bars}{Q\+C\+P\+Bars}} has meaning.

The default base value is 0. \mbox{\Hypertarget{class_q_c_p_bars_aa3435aab19e0a49e4e7b41bd36a8d96b}\label{class_q_c_p_bars_aa3435aab19e0a49e4e7b41bd36a8d96b}} 
\index{Q\+C\+P\+Bars@{Q\+C\+P\+Bars}!set\+Data@{set\+Data}}
\index{set\+Data@{set\+Data}!Q\+C\+P\+Bars@{Q\+C\+P\+Bars}}
\subsubsection{\texorpdfstring{set\+Data()}{setData()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void Q\+C\+P\+Bars\+::set\+Data (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{qcustomplot_8h_aa846c77472cae93def9f1609d0c57191}{Q\+C\+P\+Bar\+Data\+Map}} $\ast$}]{data,  }\item[{bool}]{copy = {\ttfamily false} }\end{DoxyParamCaption})}

Replaces the current data with the provided {\itshape data}.

If {\itshape copy} is set to true, data points in {\itshape data} will only be copied. if false, the plottable takes ownership of the passed data and replaces the internal data pointer with it. This is significantly faster than copying for large datasets. \mbox{\Hypertarget{class_q_c_p_bars_a3efded5df4a82ecb201f7c28099fa2e5}\label{class_q_c_p_bars_a3efded5df4a82ecb201f7c28099fa2e5}} 
\index{Q\+C\+P\+Bars@{Q\+C\+P\+Bars}!set\+Data@{set\+Data}}
\index{set\+Data@{set\+Data}!Q\+C\+P\+Bars@{Q\+C\+P\+Bars}}
\subsubsection{\texorpdfstring{set\+Data()}{setData()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void Q\+C\+P\+Bars\+::set\+Data (\begin{DoxyParamCaption}\item[{const Q\+Vector$<$ double $>$ \&}]{key,  }\item[{const Q\+Vector$<$ double $>$ \&}]{value }\end{DoxyParamCaption})}

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Replaces the current data with the provided points in {\itshape key} and {\itshape value} tuples. The provided vectors should have equal length. Else, the number of added points will be the size of the smallest vector. \mbox{\Hypertarget{class_q_c_p_bars_afec6116579d44d5b706e0fa5e5332507}\label{class_q_c_p_bars_afec6116579d44d5b706e0fa5e5332507}} 
\index{Q\+C\+P\+Bars@{Q\+C\+P\+Bars}!set\+Width@{set\+Width}}
\index{set\+Width@{set\+Width}!Q\+C\+P\+Bars@{Q\+C\+P\+Bars}}
\subsubsection{\texorpdfstring{set\+Width()}{setWidth()}}
{\footnotesize\ttfamily void Q\+C\+P\+Bars\+::set\+Width (\begin{DoxyParamCaption}\item[{double}]{width }\end{DoxyParamCaption})}

Sets the width of the bars.

How the number passed as {\itshape width} is interpreted (e.\+g. screen pixels, plot coordinates,...), depends on the currently set width type, see \mbox{\hyperlink{class_q_c_p_bars_adcaa3b41281bb2c0f7949b341592fcc0}{set\+Width\+Type}} and \mbox{\hyperlink{class_q_c_p_bars_a65dbbf1ab41cbe993d71521096ed4649}{Width\+Type}}. \mbox{\Hypertarget{class_q_c_p_bars_adcaa3b41281bb2c0f7949b341592fcc0}\label{class_q_c_p_bars_adcaa3b41281bb2c0f7949b341592fcc0}} 
\index{Q\+C\+P\+Bars@{Q\+C\+P\+Bars}!set\+Width\+Type@{set\+Width\+Type}}
\index{set\+Width\+Type@{set\+Width\+Type}!Q\+C\+P\+Bars@{Q\+C\+P\+Bars}}
\subsubsection{\texorpdfstring{set\+Width\+Type()}{setWidthType()}}
{\footnotesize\ttfamily void Q\+C\+P\+Bars\+::set\+Width\+Type (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_q_c_p_bars_a65dbbf1ab41cbe993d71521096ed4649}{Q\+C\+P\+Bars\+::\+Width\+Type}}}]{width\+Type }\end{DoxyParamCaption})}

Sets how the width of the bars is defined. See the documentation of \mbox{\hyperlink{class_q_c_p_bars_a65dbbf1ab41cbe993d71521096ed4649}{Width\+Type}} for an explanation of the possible values for {\itshape width\+Type}.

The default value is \mbox{\hyperlink{class_q_c_p_bars_a65dbbf1ab41cbe993d71521096ed4649aad3cc60ae1bfb1160a30237bee9eaf10}{wt\+Plot\+Coords}}.

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_q_c_p_bars_afec6116579d44d5b706e0fa5e5332507}{set\+Width}} 
\end{DoxySeeAlso}


The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
R\+:/\+Develop/a0-\/develop/\+Lib\+Q\+Qt/src/charts/qcustomplot/\mbox{\hyperlink{qcustomplot_8h}{qcustomplot.\+h}}\item 
R\+:/\+Develop/a0-\/develop/\+Lib\+Q\+Qt/src/charts/qcustomplot/\mbox{\hyperlink{qcustomplot_8cpp}{qcustomplot.\+cpp}}\end{DoxyCompactItemize}
